;--------------------------------
; Test file for 68000 assembler.
;
; snasm68.exe
;--------------------------------

; ===================================================================
; ===================================================================
; ===================================================================

; Purpose:
; - Use 16-bit string index remapping
; - 1FFA9E-1FFFFF @ 562

	org $1ffaa0

start:
	; OLD code
	move.l (a5),d0
	move.l $0004(a5),a0

	; a0 = current script ptr (FREE variable)

; ====================
; ####################
; ====================

	; save variables
	movem.l d0/d1,-(a7)

; --------------------

	; retrieve 16-bit index code (LSB)
	move.b $01(a0),d1
	lsl.l #8,d1
	move.b $00(a0),d1

	; index into 24-bit table
	move.w d1,d0
	add.w d1,d0
	add.w d1,d0

; --------------------

	; final table address
	lea $200000,a0
	add.w d0,a0

	; read 24-bit ptr (MSB)
	moveq.l #0,d0
	move.b (a0)+,d0
	lsl.l #8,d0
	move.b (a0)+,d0
	lsl.l #8,d0
	move.b (a0)+,d0

	; transfer script ptr
	movea.l d0,a0

; --------------------

	; restore variables
	movem.l (a7)+,d0/d1

; ====================
; ####################
; ====================

	jmp $34f6
